package com.ruoyi.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.core.domain.zzw.TEventManage;
import com.ruoyi.common.core.domain.zzw.TIndicatorsInfo;
import com.ruoyi.common.core.domain.zzw.TSafenessIndex;
import com.ruoyi.common.core.domain.zzw.VO.TIndicatorsInfoVO;
import org.springframework.data.repository.query.Param;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.List;


/**
 * 指标Mapper接口
 *
 * @author xbx
 * @date 2023-10-20
 */
public interface TIndicatorsInfoMapper   extends BaseMapper<TIndicatorsInfo>
{
    /**
     * 查询指标
     *
     * @param cIndicatorsId 指标主键
     * @return 指标
     */
    public TIndicatorsInfo selectTIndicatorsInfoByCIndicatorsId(Long cIndicatorsId);

    public List<TIndicatorsInfo> selectTIndicatorsInfoByCModuleId(String cModuleId);

    public List<TIndicatorsInfo> selectTIndicatorsInfoByCDistrictId(String cDistrictId);

    /**
     * 查询指标列表
     *
     * @param tIndicatorsInfo 指标
     * @return 指标集合
     */
    public List<TIndicatorsInfo> selectTIndicatorsInfoList(TIndicatorsInfo tIndicatorsInfo);

    public String selectRelatedKeyEventId(String cIndicatorsId);

    public List<TEventManage> selectRelatedEventByEventId(List<String> eventList);

    public TEventManage selectSubEventList(String eventId);

    /**
     * 新增指标
     *
     * @param tIndicatorsInfo 指标
     * @return 结果
     */
    public int insertTIndicatorsInfo(TIndicatorsInfo tIndicatorsInfo);

    /**
     * 修改指标
     *
     * @param tIndicatorsInfo 指标
     * @return 结果
     */
    public int updateTIndicatorsInfo(TIndicatorsInfo tIndicatorsInfo);

    /**
     * 删除指标
     *
     * @param cIndicatorsId 指标主键
     * @return 结果
     */
    public int deleteTIndicatorsInfoByCIndicatorsId(Long cIndicatorsId);

    /**
     * 批量删除指标
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTIndicatorsInfoByCIndicatorsIds(List<Long> ids);

    List<TIndicatorsInfo> BycSafenessId(TSafenessIndex tSafenessIndex);

    List<TIndicatorsInfo> safBycRegId( @PathVariable("id") Long id);

    List<TIndicatorsInfo> rightRegIdTop4(Long id);

    List<TIndicatorsInfo> selectInfoList();

    int updateRenderingData(TIndicatorsInfo info);

    List<TIndicatorsInfo> selectBylevel1();

    List<TIndicatorsInfoVO> selectInfoBysafenessId(Long safenessId);

    List<TIndicatorsInfo> selectbyCmoduleId();

    void updateList(List<TIndicatorsInfo> collect);

}
